package com.yycx.module.bus.provider.service.hy;

import com.yycx.common.mybatis.base.service.IBaseService;
import com.yycx.common.mybatis.model.ResultBody;
import com.yycx.module.bus.client.entity.hy.BusErpOrder;
import org.springframework.web.multipart.MultipartFile;

import java.util.Map;

/**
 * 海鹰erp订单 接口
 *
 * @author flyme
 * @date 2023-02-07
 */
public interface BusErpOrderService extends IBaseService<BusErpOrder> {

    /**
     * description: 生成财务凭证
     * date: 2023年-02月-07日 09:31
     * author: ldd
     *
     * @param params
     * @return com.yycx.common.mybatis.model.ResultBody
     */
    ResultBody createVoucher(Map params);

    /**
     * description: 合并单据生成凭证
     * date: 2023年-02月-07日 10:17
     * author: ldd
     *
     * @param params
     * @return com.yycx.common.mybatis.model.ResultBody
     */
    ResultBody mergeVoucher(Map params);

    /**
     * description: 样品凭证辅助余额表
     * date: 2023年-02月-09日 16:25
     * author: ldd
     *
     * @param file
     * @return com.yycx.common.mybatis.model.ResultBody
     */
    ResultBody sampleVoucher(MultipartFile file);

    /**
     * description: 成本凭证
     * date: 2023年-02月-09日 16:33
     * author: ldd
     *
     * @param params
     * @return com.yycx.common.mybatis.model.ResultBody
     */
    ResultBody createCost(Map params);

    /**
     * description: 付款凭证
     * date: 2023年-02月-09日 17:08
     * author: ldd
     *
     * @param params
     * @return com.yycx.common.mybatis.model.ResultBody
     */
    ResultBody createPayment(Map params);

    /*
     * description: 套账下拉
     * date: 2023年-02月-25日 08:46
     * author: ldd
     *
     * @param params
     * @return com.yycx.common.mybatis.model.ResultBody
     */
    ResultBody getCompany(Map params);


    /**
     * description: 更新单据信息
     * date: 2023年-07月-25日 14:53
     * author: ldd
     *
     * @param params
     * @return com.yycx.common.mybatis.model.ResultBody
     */
    ResultBody updateOrder(Map params);

    /**
     * description: 合并生成当月单据凭证
     * date: 2023年-08月-18日 10:40
     * author: ldd
     *
     * @param params
     * @return com.yycx.common.mybatis.model.ResultBody
     */
    ResultBody monthVoucher(Map params);

    /**
     * 根据订单号和类型查询
     * @param orderNo
     * @param orderType
     * @return
     */
    BusErpOrder findByOrderNoAndType(String orderNo,Integer orderType);
}
